a[0]+1 是表示什么意思呢?

来源:百度知道 编辑:UC知道 时间:2024/06/05 17:32:34
a[0]+1是不是表示引用元素a[0]的内容再加1比如说a[0]存放的内容是2000那么a[0]+1是不是相当于2001啊?书上说的a[0]+1是表示二维数组第0行的第一列的地址

楼主,很负责的告诉你
a[0]+1并不是代表第0行的第一列。而是代表第一行的第二列。(回想一下一维数组a[0]代表第一个元素),此时的a[0]+1相当于指针a[0]代表的是第一行的首地址

在二维数组中a[i]代表的是行
a[i]+j代表的是第i+1行第j+1列

在一维数组中a[i]+j代表的是用第i+1这个位置的元素加上j

如果是二维数组a[0]+1;代表a[0][1];这时候a[0]是行数组名它代表这一行的首地址就是a[0][0], +1就等于加它类型的字节数 1*字节数,(+2就是2*字节数)结果就是a[0][1];
如果是一维的挂,更简单;+1就等于加它类型的字节数*1; 结果是a[1];

如果a是一个二维数组的话,当然书上说的没有问题喽。
不过你说的也没有错,实际上,a[0]+1 的值就是a[0][1]所在内存单元的地址哦。自己很容易写个程序,调试看看a[0]+1与a[0][1]的值哦,你会发现他们俩是相等的!

a[0]+1就是a[X]这个一维数组的第一个值加1,你前面说的那个。a[0,1]才是表示二维数组第0行第一列的地址。

那就要看你的a声明的时候怎么写的了
int a[10][10] ;这样声明就是书上说的意思
int a[10];这样声明就是你自己理解的意思了